package com.github.caijh.mall.front.service;

import java.util.List;

import com.github.caijh.mall.category.vo.CategoryTreeVo;
import com.github.caijh.mall.common.CommonPage;
import com.github.caijh.mall.common.PageParams;
import com.github.caijh.mall.front.request.IndexStoreProductSearchRequest;
import com.github.caijh.mall.front.request.ProductRequest;
import com.github.caijh.mall.front.response.ProductDetailResponse;
import com.github.caijh.mall.front.response.ProductResponse;
import com.github.caijh.mall.front.response.StoreProductReplayCountResponse;
import com.github.caijh.mall.store.response.StoreProductReplyResponse;
import com.github.caijh.mall.store.response.StoreProductVo;
import com.github.pagehelper.PageInfo;

public interface ProductService {

    CommonPage<ProductResponse> getIndexProduct(IndexStoreProductSearchRequest request, PageParams pageParams);

    List<CategoryTreeVo> getCategory();

    CommonPage<ProductResponse> getList(ProductRequest request, PageParams pageParams);

    ProductDetailResponse getProductDetail(Integer id);

    PageInfo<StoreProductReplyResponse> getReplyList(Integer id, Integer type, PageParams pageParams);

    StoreProductReplayCountResponse getReplyCount(Integer id);

    String getPacketPriceRange(StoreProductVo storeProductVo, boolean isPromoter);

}
